package test

import java.io.File
import implicits.Implicits._

/**
 * Created by yz on 27/12/2021
 */
object ParseJson {

  def main(args: Array[String]): Unit = {
//    val file = new File("C:\\workspaceForIDEA\\panda\\server\\app\\test", "test.json")
//    val jsons = Json.parse(file.str).toJsObject.fields
//    val json = jsons.toMap
//    val excludeLabels = List("labels", "table_verbose", "labels_help", "IdPublication")
//    val outLabelMap = json("labels").toJsObject.value.map { case (k, v) => (k -> v.as[String]) }
//    val map = jsons.filterNot { case (k, v) =>
//      excludeLabels.contains(k)
//    }.flatMap { case (k, v) =>
//      if (v.asOpt[JsObject].isDefined) {
//        val inMap = v.toJsObject.value
//        val inJsons = v.toJsObject.fields
//        val inLabelMap = inMap("labels").toJsObject.value.map { case (k, v) => (k -> v.as[String]) }
//        val inExcludeLabels = List("labels", "table_verbose", "labels_help", "id")
//        val filterJsons = inJsons.filterNot { case (k, v) =>
//          inExcludeLabels.contains(k)
//        }
//        if (filterJsons.size == 1) {
//          List(
//            (inMap("table_verbose"), inMap("name")
//            ))
//        } else {
//          filterJsons.map { case (k, v) =>
//            (inLabelMap(k), v)
//          }.toList
//        }
//      } else {
//        List(
//          (outLabelMap(k), v)
//        )
//      }
//    }
//    map.foreach { x =>
//      println(x)
//    }


  }

}
